/**
 * 微信小程序移植的版本号比较
 * @param _v1 版本号 1.0.0
 * @param _v2 版本号 2.0.0
 * @returns {number} V1>V2 返回 1 ; V1=V2 返回 0 ; V1<V2 返回 -1
 */
export function compareVersionName(_v1 = '', _v2 = '') {
  const v1 = _v1.split('.')
  const v2 = _v2.split('.')
  const len = Math.max(v1.length, v2.length)

  while (v1.length < len) {
    v1.push('0')
  }
  while (v2.length < len) {
    v2.push('0')
  }

  for (let i = 0; i < len; i++) {
    const num1 = Number.parseInt(v1[i])
    const num2 = Number.parseInt(v2[i])

    if (num1 > num2) {
      return 1
    } else if (num1 < num2) {
      return -1
    }
  }
  return 0
}

/**
 * 把版本字符串转换成对应的10进制数字，如 1.0.0 => 100
 * @returns {number} 10进制的版本数字
 * @param version 版本字符串 如：1.0.0
 */
export function convertToVersionCode(version = '0.0.0') {
  if (!version || version === '0.0.0')
    return 0
  const parts = version.split('.')
  const length = parts.length
  let result = 0
  for (let i = 0; i < length; i++) {
    const currentPart = Number.parseInt(parts[i], 10)
    const multiplier = 10 ** (length - i - 1)
    result += (currentPart * multiplier)
  }
  return result
}
